﻿/*
Commerce by Onex – eCommerce software platform (www.ecommerce.byonex.com)
Copyright (C) 2008-2010 by Onex Group

This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License
as published by the Free Software Foundation; either version 2
of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU General Public License for more details.

You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
 
 */
using System;
using System.Collections.Generic;
using System.Text;

namespace ShopModel
{
    public class Settings
    {
        #region Variables

        static int availableCountRange;
        static int defaultCountry;
        static decimal shipmentVatRateValue;
        static string invoiceNumberMask;
        static string companyAccount;
        static string companyEmail;
        static string companyEmailDisplayName;
        static string companyMailHost;
        static string companyMailLogin;
        static string companyMailPassword;
        static string companyName;
        static string companyNIP;
        static string companyOnlineContact;
        static string companyOwner;
        static string companyPhoneNumber;
        static string companyStreet;
        static string companyTown;
        static string companyZipCode;
        static string invoiceFooter;
        static string paymentKey1;
        static string paymentKey2;
        static string paymentPosID;
        static string paymenyPosAuthKey;
        static string shipmentAgreement;
        static bool registrationConfirmationMail;
        static bool showProductsToCompare;
        static bool showBestsellers;
        static bool showNews;
        static bool showPartners;
        static bool showAvailableCount;
        static bool showCrossSell;
        static string theme;

        #endregion Variables

        #region Fields

        public static decimal ShipmentVatRateValue
        {
            get { return Settings.shipmentVatRateValue; }
            set { Settings.shipmentVatRateValue = value; }
        }

        public static string InvoiceNumberMask
        {
            get { return Settings.invoiceNumberMask; }
            set { Settings.invoiceNumberMask = value; }
        }

        public static int AvailableCountRange
        {
            get { return Settings.availableCountRange; }
            set { Settings.availableCountRange = value; }
        }

        public static string CompanyAccount
        {
            get { return Settings.companyAccount; }
            set { Settings.companyAccount = value; }
        }

        public static string CompanyEmail
        {
            get { return Settings.companyEmail; }
            set { Settings.companyEmail = value; }
        }

        public static string CompanyEmailDisplayName
        {
            get { return Settings.companyEmailDisplayName; }
            set { Settings.companyEmailDisplayName = value; }
        }

        public static string CompanyMailHost
        {
            get { return Settings.companyMailHost; }
            set { Settings.companyMailHost = value; }
        }

        public static string CompanyMailLogin
        {
            get { return Settings.companyMailLogin; }
            set { Settings.companyMailLogin = value; }
        }

        public static string CompanyMailPassword
        {
            get { return Settings.companyMailPassword; }
            set { Settings.companyMailPassword = value; }
        }

        public static string CompanyName
        {
            get { return Settings.companyName; }
            set { Settings.companyName = value; }
        }

        public static string CompanyNIP
        {
            get { return Settings.companyNIP; }
            set { Settings.companyNIP = value; }
        }

        public static string CompanyOnlineContact
        {
            get { return Settings.companyOnlineContact; }
            set { Settings.companyOnlineContact = value; }
        }

        public static string CompanyOwner
        {
            get { return Settings.companyOwner; }
            set { Settings.companyOwner = value; }
        }

        public static string CompanyPhoneNumber
        {
            get { return Settings.companyPhoneNumber; }
            set { Settings.companyPhoneNumber = value; }
        }

        public static string CompanyStreet
        {
            get { return Settings.companyStreet; }
            set { Settings.companyStreet = value; }
        }

        public static string CompanyTown
        {
            get { return Settings.companyTown; }
            set { Settings.companyTown = value; }
        }

        public static string CompanyZipCode
        {
            get { return Settings.companyZipCode; }
            set { Settings.companyZipCode = value; }
        }

        public static string InvoiceFooter
        {
            get { return Settings.invoiceFooter; }
            set { Settings.invoiceFooter = value; }
        }

        public static string PaymentKey1
        {
            get { return Settings.paymentKey1; }
            set { Settings.paymentKey1 = value; }
        }

        public static string PaymentKey2
        {
            get { return Settings.paymentKey2; }
            set { Settings.paymentKey2 = value; }
        }

        public static string PaymentPosAuthKey
        {
            get { return Settings.paymenyPosAuthKey; }
            set { Settings.paymenyPosAuthKey = value; }
        }

        public static string PaymentPosID
        {
            get { return Settings.paymentPosID; }
            set { Settings.paymentPosID = value; }
        }

        public static bool RegistrationConfirmationMail
        {
            get { return Settings.registrationConfirmationMail; }
            set { Settings.registrationConfirmationMail = value; }
        }

        public static string ShipmentAgreement
        {
            get { return Settings.shipmentAgreement; }
            set { Settings.shipmentAgreement = value; }
        }

        public static int DefaultCountry
        {
            get { return Settings.defaultCountry; }
            set { Settings.defaultCountry = value; }
        }

        public static bool ShowProductsToCompare
        {
            get { return Settings.showProductsToCompare; }
            set { Settings.showProductsToCompare = value; }
        }

        public static bool ShowBestsellers
        {
            get { return Settings.showBestsellers; }
            set { Settings.showBestsellers = value; }
        }

        public static bool ShowNews
        {
            get { return Settings.showNews; }
            set { Settings.showNews = value; }
        }

        public static bool ShowPartners
        {
            get { return Settings.showPartners; }
            set { Settings.showPartners = value; }
        }

        public static bool ShowAvailableCount
        {
            get { return Settings.showAvailableCount; }
            set { Settings.showAvailableCount = value; }
        }

        public static bool ShowCrossSell
        {
            get { return Settings.showCrossSell; }
            set { Settings.showCrossSell = value; }
        }

        public static string Theme
        {
            get { return Settings.theme; }
            set { Settings.theme = value; }
        }

        public static string PictureDirectory
        {
            get { return System.Configuration.ConfigurationManager.AppSettings["PictureDirectory"]; }
        }

        public static string BannersDirectory
        {
            get { return System.Configuration.ConfigurationManager.AppSettings["BannersDirectory"]; }
        }

        public static string VideoDirectory
        {
            get { return System.Configuration.ConfigurationManager.AppSettings["VideoDirectory"]; }
        }

        public static string DocumentDirectory
        {
            get { return System.Configuration.ConfigurationManager.AppSettings["DocumentDirectory"]; }
        }

        public static string TemplatesDirectory
        {
            get { return System.Configuration.ConfigurationManager.AppSettings["TemplatesDirectory"]; }
        }

        public static string XmlDirectory
        {
            get { return System.Configuration.ConfigurationManager.AppSettings["XmlDirectory"]; }
        }

        public static string XmlBackupDirectory
        {
            get { return System.Configuration.ConfigurationManager.AppSettings["XmlBackupDirectory"]; }
        }

        public static string ShopUrl
        {
            get { return System.Configuration.ConfigurationManager.AppSettings["ShopUrl"]; }
        }

        #endregion Fields
    }
}
